Wireless standards are using turbo codes intensively. Interleaver tables are conventionally implemented in standard compliant circuitry either for turbo encoding or turbo decoding. An interleaver table represents a sequence of permutation indices applied to a code word while encoding or decoding. If the code word has N bits, a corresponding interleaver table has N integer numbers. Each wireless standard describes a set of possible sizes of the code words. For example, the Wideband-CDMA (WCDMA) standard permits code words of any size from 40 bits to 5114 bits. Therefore, the total size of all interleaver tables for the WCDMA standard would be 13,078,275 integer numbers. If a size of each integer number is 2 bytes, direct storage of all possible interleaver tables in memory for the WCDMA standard alone consume approximately 25 megabytes of memory.
Another conventional way of obtaining the interleaver tables is to generate the tables at run time. The run time approach is commonly implemented in existing designs. However, each such design is targeted at a single wireless standard.
A direct way to support several standards in a single design is to have several computing schemes—a single scheme for each standard. Moreover some standards, for example the Long Term Evolution (LTE) standard, have detailed descriptions of such computing schemes. Some disadvantages of implementing multiple computing schemes concern inflexibility. A change in a standard or an appearance of a new standard cannot be supported. Implementing multiple computing schemes also uses a large area and results in significant power consumption. Another disadvantage concerns complexity. The complexity of the whole design matches a sum of the complexities of the individual schemes for each standard. Furthermore, if a general purpose processor is used to generate the interleaver tables, the area and the power consumption of such a solution will be high and will result in a low data rate.